
                        #*======================*#
                        #| A M I A R C A D I A  |#
                        #|     Version 4.32     |#
                        #|      2 Aug 2007      |#
                        #|                      |#
                        #|  by James R. Jacobs  |#
                        #|  of Amigan Software  |#
                        #*======================*#

                            Overview            
                            Requirements        
                            Usage               
                            Credits and Licence 
                            History             

                            Gadgets             
                            Menu                
                            Controllers         
                            Other Keys          
                            Miscellaneous       
                            Compatibility       
                            Troubleshooting     


OVERVIEW------------------------------------------------------------------

AmiArcadia emulates the Emerson Arcadia 2001 (Bandai, Emerson, Grandstand,
Intervision, Leisure-Vision, Leonardo, MPT-03, Ormatu, Palladium, Poppy,
Robdajet, Tele-Fever, Tempest, Tryom, Tunix, etc.) and Interton VC 4000
(Acetronic, Fountain, Interton, Prinztronic, Rowtron, Voltmace,
Waddington, etc.) console families, and the Elektor TV Games Computer.

Features include: ReAction GUI, load/save snapshots, windowed and full-
screen modes, CPU tracing, trainer, drag and drop support, iconification,
graphics scaling, automatic load/save of configuration, joystick and CD
gamepad support, BIOS image not needed, autofire, warp mode, raster-based
emulation, gameplay recording/playback, PAL/NTSC modes, demultiplexing,
autosave, narrow mode, help window, source code, flagline emulation
toggle, debugger, frame skipping.


SYSTEM REQUIREMENTS-------------------------------------------------------

Hardware        Required           MC68020+
                Recommended        PowerPC
                                   Joystick(s) and/or CDCD gamepad(s)
Firmware        Required           Kickstart 3.1+
Software        Required           AmigaOS 3.5+
                Recommended        BlazeWCP
                                   FBlit

Compatibility with OS4.0 has not been tested. The sound emulation bangs
the hardware directly (unless you recompile without #defining BANGPAULA).
All other code is system-friendly.

The emulator has been tested under WinUAE, on a real Amiga 1200/060, and
on a Pegasos running MorphOS.

You will need a very fast Amiga to achieve adequate performance
(which is 50/60 FPS for PAL/NTSC, respectively).

Full-screen mode is slow by default, due to the use of OCS. You should
download and install the excellent BlazeWCP patch (Aminet:util/boot/
Blazewcp.lha). This will make the emulation dozens of times faster in OCS/
ECS/AGA modes under WinUAE, and significantly faster on a real Amiga.

BlazeWCP 1.74 (at least) seems to crash when using the "uaegfx" modes (at
least) under WinUAE 1.3.2 (at least). However, no problems have been
experienced using it with OCS/ECS/AGA modes. This is a WinUAE bug; it does
not occur on a real Amiga. It was reported to the WinUAE maintainer months
ago, yet he has not bothered, or is unable, to confirm let alone fix it.

There are other similar patches (eg. PatchWP8 and NewWP8) which are slower
but perhaps do not have these crashing issues (though they do have
graphics corruption issues when being used by more than one program
simultaneously). Please email us with the results if you have tested
these.

You may also wish to investigate the FBlit patch (Aminet:util/boot/
fblit.lha); this should provide increased speed on real Amigas and
possibly under UAE. We have not tested nor quantified this.

The speedups provided by these patches will of course improve the speed of
various programs you may wish to run, not just AmiArcadia.

See here for more tips for increasing the emulation speed.

Note that to use full-screen mode, you will either need a to use a monitor
capable of displaying a 15KHz (ie. OCS/ECS/AGA) signal, or mode promotion.


USAGE---------------------------------------------------------------------

CLI Arguments

                                 AmiArcadia

Format:    AmiArcadia
           [[FILE]          <file>]
           [ANALOG          ON|OFF]
           [AUTOFIRE        ON|OFF]
           [AUTOSAVE        ON|OFF]
           [BREAKPOINT|BP   <address>]
           [COLLISIONS      ON|OFF]
           [DEMULTIPLEX     ON|OFF]
           [FLAGLINE        ON|OFF]
           [FRAMESKIP       1|2|3|4|5|6|7|8]
           [FULLSCREEN      ON|OFF]
           [JOY1            ON|OFF]
           [LOGINSTRUCTIONS ON|OFF]
           [LOGREADS        ON|OFF]
           [LOGWRITES       ON|OFF]
           [MACHINE         ARCADIA|INTERTON|ELEKTOR]
           [NARROW          ON|OFF]
           [PAUSED          ON|OFF]
           [PRI             <pri>]
           [PUBSCREEN       <pubscreen>]
           [SIZE            1|2|3]
           [SOUND           ON|OFF]
           [SWAPPED         ON|OFF]
           [TITLEBAR        ON|OFF]
           [VLOCK           ON|OFF]
           [WARP            ON|OFF]
           [WATCHPOINT|WP   <address>]

Template:  FILE,
           ANALOG/K,
           AUTOFIRE/K,
           AUTOSAVE/K,
           BREAKPOINT=BP/K,
           COLLISIONS/K,
           DEMULTIPLEX/K,
           FLAGLINE/K,
           FRAMESKIP/K/N,
           FULLSCREEN/K,
           JOY1/K,
           LOGINSTRUCTIONS/K,
           LOGREADS/K,
           LOGWRITES/K,
           MACHINE/K,
           NARROW/K,
           PAUSED/K,
           PRI/K/N,
           PUBSCREEN/K,
           SIZE/K/N,
           SOUND/K,
           SWAPPED/K,
           TITLEBAR/K,
           VLOCK/K,
           WARP/K,
           WATCHPOINT=WP/K

Purpose:   To emulate the Emerson Arcadia 2001 and Interton VC 4000
           console families, and the Elektor TV Games Computer.

Specification:

    FILE=<file>:
           a file to load at startup; this can be in any supported format.

    PRI=<pri>:
           priority for AmiArcadia to run at (-128 to 5, default is 0).

    PUBSCREEN=<pubscreen>:
           the name of a public screen to open on (otherwise the default
           public screen is used).

    SIZE=1|2|3:                                                          9
           graphics scaling factor (only affects windowed mode).

    FRAMESKIP=1|2|3|4|5|6|7|8:
           frame skipping. 1 shows every frame, 2 shows every 2nd frame,
           3 shows every 3rd frame, etc.

    BREAKPOINT|BP=<address>:
           code breakpoint to set. <address> is considered hexadecimal if
           it begins with '$', otherwise it is considered decimal. Eg.:

           AmiArcadia SUPERBUG.BIN breakpoint=0

           to break at address 0; or

           AmiArcadia SUPERBUG.BIN bp=$2000

           to break at address $2000 (8192).

           A code breakpoint is triggered when the Instruction Address
           Register (ie. program counter) is equal to the breakpoint
           address, before the instruction at that address is
           executed.

    WATCHPOINT|BP=<address>:
           data watchpoint to set. <address> is considered hexadecimal if
           it begins with '$', otherwise it is considered decimal.

           A data watchpoint is triggered before the contents of the
           specified address are accessed (whether by the CPU or by the
           UVI/PVI.).

           These accesses do not trigger the watchpoint:

           *   Writes to the location which do not alter its value (ie.
               rewriting the same value as was already there).
           *   The UVI/PVI's writing (resetting) of read-once locations
               after they have been accessed.
           *   Reads of the address by the UVI/PVI (in the course of
               rendering the display).
           *   Fetches of opcodes and operands by the CPU.

           Reads of the address by the CPU on behalf of a running program
           (eg. the LODA instruction) only trigger the watchpoint if
           "Watch reads?" is enabled.

    MACHINE=ARCADIA|INTERTON|ELEKTOR:
           Emerson ARCADIA 2001, INTERTON VC 4000 or ELEKTOR TV Games
           Computer emulation.

    ANALOG,
    AUTOFIRE,
    AUTOSAVE,
    COLLISIONS,
    DEMULTIPLEX,
    FLAGLINE,
    FULLSCREEN,
    JOY1,
    LOGINSTRUCTIONS,
    LOGREADS,
    LOGWRITES,
    LOOP,
    PAUSED,
    POINTER,
    NARROW,
    SOUND,
    SWAPPED,
    TITLEBAR,
    VLOCK,
    WARP:  These can be specified as ON or OFF.


CREDITS AND LICENCE-------------------------------------------------------

Credits

AmiArcadia and WinArcadia were written by James Jacobs of Amigan Software.

The Interton VC 4000 and Elektor TV Games Computer emulation is based on
work by Peter Trauner and Manfred Schneider. The upper row of button
gadgets are from the AISS package, by Martin `Mason' Merz. Special thanks
to Charles Eurich for compatibility testing, and to Luca Longone and
Stefan Haubenthal for bug reports.

EMail             jrj\@aapt.net.au

Websites          http://amigan.1emu.net/releases/
                  http://amigan.classicgaming.gamespy.com/

Amigan Software run the world's largest EA2001/VC4000/TVGC site, "Emerson
Arcadia 2001 Central". ROMs, manuals, development tools, etc. are
available there.

Licence

AmiArcadia and WinArcadia are open source freeware. These are the
licence conditions:

    * you are not allowed to modify, and/or distribute, it for
      commercial purposes without consent;

    * any modified versions must be clearly marked as such, and not be
      misrepresented as being the original software;

    * you are not allowed to claim you wrote this software, or to remove
      or alter the existing credits (though you may append to them);

    * you may distribute this unmodified executable either with or without
      the source code, at your discretion. However, modified versions must
      include the source code.

    * there is no warranty on this software.

If you would like to become an official co-developer of this emulator,
please contact us.

Bugs

Amiga development and style guidelines have been adhered to,
using the official Amiga Technical Reference Series as authoritive
reference.

AmiArcadia has been tested successfully on a real Amiga 1200 with MC68060
running OS3.9, and also tested successfully (except for the non-fatal
WinUAE interactions with patches mentioned elsewhere) under various
versions of WinUAE.

Some MuForce hits have been reported for V2.22 (at least). The reasons for
these are unclear. They do not appear to cause any problems, and the
source code appears to be system-legal and bug-free. The BlowUp/PatchWork/
MungWall/IO_Torture combination does not reveal any problems.

You should check the Compatibility and Troubleshooting
sections, the Emerson Arcadia Gaming Guide, and the manual of your game
(if available) to check whether a suspected bug in the emulator is
genuine.

Please contact us immediately if any bugs are found. We suggest using
Report+ to generate bug reports (though this is optional); it is the
easiest method. Do not assume that the bug has already been reported by
another user; this is most unlikely. We always investigate and attempt to
fix any and all bugs reported, and will keep you appraised of the status
of the bug report.

Future

It is our intention to update AmiArcadia and WinArcadia as necessary to
improve the speed, compatibility, features and interface of the emulators.

Contact us to suggest new features, or if you have information that can
help us to improve the emulation accuracy, or if you have ROM dumps/
manuals to contribute, or for bug reports, comments, suggestions and
requests.

Source code

SAS/C source code is provided. The source code of AmiArcadia 2.14 has been
linted weakly with LCLint 2.2a+.

The program does not compile under StormC, due primarily to a compiler
bug involving large switch statements. The release binary was compiled
with SAS/C 6.58.

Worm Wars (Amiga, Windows)

Worm Wars is an arcade game for up to 4 players, who travel around a
series of rectangular mazes leaving a deadly trail behind them. There are
32 types of creature and 32 types of power-up objects.

The integral field editor allows you to load, edit and save user
fieldsets, for greater lasting attraction. There is support for
playing MED and IFF 8SVX files as music and sound effects respectively.

It is enjoyable either for one player, or for competitive multiplayer
games, and demo mode is available. Amiga or human control can be specified
for any worm. Two keyboard players, four joystick players, and/or four
CD gamepad players are supported. It is system-friendly, style
compliant and screenmode-sensitive. It is available for Amiga and Windows.

Report+ (Amiga)

Report+ is a freeware ReAction-based utility with nine functions:

 1. It is an enhanced, reverse-engineered, 100% byte-compatible
    replacement for the official Commodore bug reporting tool (40.2),
    optionally sending emails automatically.
 2. It can generate/edit Aminet-style readmes.
 3. It can check your OS3.9 installation (or any other path) for missing,
    surplus and/or outdated files.
 4. It can perform batch processing on icons.
 5. It can access the official manufacturer and product ID registries.
 6. It can view IFF FORMs and their component chunks.
 7. It can convert between various ASCII formats.
 8. It can show directory byte usage for any path, optionally also fixing
    protection bits.
 9. It can edit A3000/A4000-type battery-backed memory.

Saga (Amiga)

This is a conversion of the 1981 TSR boardgame "Saga: Age of Heroes", for
up to 6 players. Players can be controlled by human or Amiga.
  In Saga: Age of Heroes, players defeat evil monsters, win fabulous
treasures and rule great kingdoms in their quest to gain glory and be the
one hero whose memory will live on forever in the songs and stories of the
age.
  It is currently available in English and German. SAS/C and StormC source
code is included.

WinArcadia (Windows)

This is the acclaimed Windows version of AmiArcadia.

Africa (Amiga)

This is a conversion of the 1977 3W boardgame "Africa", for up to 5
players. Players can be controlled by human or Amiga. SAS/C and StormC
source code is included.

In this game each player takes the role of one of the powers attempting to
establish or maintain a sphere of influence in the southern half of the
African continent. By interfering in the economic stability and political
alliance of nations, and by subsidising them, the players attempt to
extend their political control of Africa, while diminishing the control
of their opponents.

There is the opportunity to set up governments in favour of the players,
encourage revolutions, start wars between the African nations and even
introduce armies of the player-powers into the continent.

Handy (Amiga)

This is the Amiga port of Handy 0.95. It emulates the Atari Lynx console.

Features: save screenshot, optional AHI sound, keyboard, joystick and CD
joypad support, source code, support for ZIPped games.

Koules (Windows)

This is the Windows port of Koules 1.4, a popular arcade game for Linux
and OS/2.

Features: 1-5 players simultaneously, sound effects, triple keyboard and
double joystick support, source code.

Other Releases (Amiga)

We have also released, for example, popular character editors for these
games:

    * Bard's Tale 1-3
    * Demon's Winter
    * Faery Tale Adventure
    * Phantasie 1 & 3
    * Questron 2


HISTORY-------------------------------------------------------------------

4.32  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu  2 Aug 2007.
    . Interton VC 4000, Elektor TVGC: compatibility improvements.
    . Miscellaneous improvements and bug fixes.

4.31  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Sat 21 Jul 2007.
4.3   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 16 Jul 2007.
4.27  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Tue  3 Jul 2007.
4.26a [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 25 Jun 2007.
4.26  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu 14 Jun 2007.
4.25  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Fri  1 Jun 2007.
4.24  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Fri 25 May 2007.
4.23  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Sat 19 May 2007.
4.22  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu 17 May 2007.
4.21  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Fri  4 May 2007.
4.2   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 30 Apr 2007.
4.11  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu 19 Apr 2007.
4.1   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon  9 Apr 2007.
4.02  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon  2 Apr 2007.
4.01  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 26 Mar 2007.
4.0   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Sun 11 Mar 2007.

3.1   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Wed 28 Feb 2007.
3.02  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Wed 21 Feb 2007.
3.01  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 12 Feb 2007.
3.0   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Wed  7 Feb 2007.

2.31  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Wed 10 Jan 2007.
2.3   [Amiga]                              : Tue 26 Dec 2006.
2.22  [Amiga]                              : Fri 22 Dec 2006.
2.21  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 18 Dec 2006.
2.2a  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Tue  5 Dec 2006.
2.2   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu 30 Nov 2006.
2.14a [Amiga]                              : Thu 23 Nov 2006.
2.14  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Fri 10 Nov 2006.
2.13  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Tue  7 Nov 2006.
2.12  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 23 Oct 2006.
2.11a [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Wed 18 Oct 2006.
2.11  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 16 Oct 2006.
2.1   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu 12 Oct 2006.
2.01  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Sun  1 Oct 2006.
2.0   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Tue 26 Sep 2006.

1.63  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 11 Sep 2006.
1.62a [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon  4 Sep 2006.
1.62  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Sun  3 Sep 2006.
1.61a [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Fri  1 Sep 2006.
1.61  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu 31 Aug 2006.
1.6   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Tue 22 Aug 2006.
1.51a        [Windows 9x/ME/NT/2K/XP/Vista]: Tue 15 Aug 2006.
1.51  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Sun 13 Aug 2006.
1.5   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 31 Jul 2006.
1.4a  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Mon 24 Jul 2006.
1.4   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Wed  5 Jul 2006.
1.321        [Windows 9x/ME/NT/2K/XP/Vista]: Mon  3 Jul 2006.
1.32a [Amiga]                              : Fri 30 Jun 2006.
1.32  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Wed 28 Jun 2006.
1.311        [Windows 9x/ME/NT/2K/XP/Vista]: Thu 22 Jun 2006.
1.31  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu 15 Jun 2006.
1.3a         [Windows 9x/ME/NT/2K/XP/Vista]: Fri  9 Jun 2006.
1.3   [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Thu  8 Jun 2006.
1.21  [Amiga][Windows 9x/ME/NT/2K/XP/Vista]: Fri  7 Apr 2006.
1.2   [Amiga]                              : Sun  2 Apr 2006.
1.11  [Amiga]                              : Sun 19 Feb 2006.
1.1   [Amiga]                              : Fri 17 Feb 2006.
1.0   [Amiga]                              : Thu 16 Feb 2006.


GADGETS-------------------------------------------------------------------

The upper row of gadgets are:

      F5  RESET to game

 Amiga-O  Open (load) a BIN/EAS/EAR/INS/INR/PGM/TVS/TVR file.

 Amiga-S  Save snapshot...

          FPS:          current frames per second. Strictly speaking, the
                        number of frames that were executed (not
                        necessarily drawn) during the last second. The
                        number of frames emulated will be the same as the
                        number of frames drawn except when (a) warp mode
                        and "limit refresh rate" are both on; or (b) frame
                        skipping is 2 or more.

The lower row of gadgets are:

 Amiga-P  FLAGLINE:     normally on.
                          For Arcadia, this toggles whether or not the
                        Flag pin in the PSU inverts the output colours.
                        (Some Arcadia console family members, such as the
                        Emerson, do not have this pin connected, whereas
                        others, such as the MPT-03 and Palladium VCG, do.)
                          For Interton/Elektor, this toggles whether or
                        not the background and grid are drawn in halfbrite
                        colours (on), or fullbrite colours (off). (Some
                        Interton console family members, such as the
                        Interton itself, use halfbrite mode, but others,
                        such as the Fountain, use fullbrite mode.)
                          It is not certainly known whether the Elektor
                        uses fullbrite or halfbrite mode.

       ,  VLOCK:        normally off. "Locks" the display vertically to
                        the centre of the window (for windowed mode) or
                        screen (for full-screen mode); prevents games from
                        scrolling the display up or down. (Emerson Arcadia
                        2001 only.)

       6  ANALOG:       normally off. Off is digital, on is analog.
                        Analog control is needed for these games:

                        Arcadia  CIRCUS
                        Interton BOWLING
                        Interton CIRCUS
                        Interton GRNDPRIX
                        Interton OLYMPICS
                        Interton PLANETDE
                        some Elektor games

                        All other games use digital control, as far as we
                        can tell. This setting is automagically adjusted
                        when loading a known ROM.

       0  AUTOFIRE:     normally off. Autofire on keypad button '2' (fire)
                        for both players. If "sense game?" is yes and the
                        the game is known, the setting (on/off) and rate
                        of fire is automagically adjusted upon loading.

 Amiga-J  JOY1:         normally off. Enables the joystick in port 1 (the
                        mouse port); this is assigned to the right player
                        by default. If this toggle is on while you are
                        using the mouse, you will be causing semi-random
                        paddle inputs to occur due to the emulator interpreting
                        mouse movements/presses as joystick movements/
                        presses.

      F7  SWAPPED:      normally off. Swaps the left and right controls
                        (for keyboards and real joysticks), so that you
                        could play with the other set of keys for example.
                        This setting is automagically adjusted when
                        loading a known ROM, so that the player always
                        uses the left controller.

       P  PAUSED:       normally off. Pause on or off. Changes to graphics
                        options may not be shown until the machine is
                        unpaused. When CPU tracing is off, you can only
                        pause between frames.

      F8  WARP:         normally off. When off, emulation speed is
                        limited to 50/60 FPS (frames per second). When on,
                        the emulator runs as fast as possible. Of course,
                        this setting makes no difference on a slow Amiga.

 Amiga-[                normally NTSC. NTSC (60 FPS) or PAL (50 FPS) mode.
 Amiga-]                Note that this is only "pseudo-PAL": ie. it merely
                        changes the speed at which the emulator runs; it
                        does not change the emulation timings or graphics
                        modes in any way (ie. there is no difference that
                        is detectable to games running in the emulator.)
                        This has no effect in warp mode, except that it
                        determines the refresh rate when the refresh rate
                        is limited. This setting cannot be specified as a
                        CLI argument.

       9  COLLISIONS:   normally on. Enables sprite-sprite and sprite-
                        background collision detection. Note that some
                        games use other methods to detect collisions.

       8  DEMULTIPLEX:  normally off. Retains the sprite images from the
                        previous frame to prevent flickering. This does
                        not "work" for all games. (Emerson Arcadia 2001
                        only.) This setting is automagically adjusted when
                        loading a known ROM.

 Amiga-U  SOUND:        normally on. Sound output on or off.

Note that at in some modes (1x, or 2x + narrow), not all of these buttons
will be visible. You can shift-drag (left and) right over the toolbar to
scroll the other buttons into view.

                        normally "stop". Macro status.  This is either
                        "stop" (blue square; neither recording nor playing
                        back), "play" (red triangle; playing back an EAR/
                        INR/TVR file) or "record" (red circle; recording
                        such a file).

The following settings do not have an associated gadget:

 Amiga-Y  LOOP:         defaults to on. When on, playback of macro
                        recordings (ie. EAR/INR/TVR files) will loop to
                        the beginning (and thus continue to play) when the
                        end of the input is reached. When off, playback of
                        macro recordings will stop when the end of the
                        input is reached.

 Amiga-1  SIZE:         default 1x. 1x-3x graphic scaling to enlarge
 Amiga-2                the display. This only affects windowed mode of
 Amiga-3                course.

 Amiga-N  NARROW:       defaults to off. When off, graphics are stretched
                        horizontally (2:1 ratio). When on, graphics appear
                        'squashed' horizontally (1:1 ratio).

 Amiga-F  FRAMESKIP:    defaults to 1. 1 shows every frame, 2 shows every
                        2nd frame, 3 shows every 3rd frame, etc. This
                        has no effect in warp mode if "limit refresh rate"
                        is enabled. Note that frame skipping can have some
                        undesired synchronicity effects with games which
                        perform multiplexing. Enabling demultiplexing can
                        sometimes help with this problem.

 Amiga-^  LIMITREFRESH: defaults to off. You can limit the screen refresh
                        rate, for even faster emulation on a fast
                        computer. This only has an effect in warp mode
                        (and only, of course, if your computer can exceed
                        an emulation and display rate of 50/60 FPS).
                          When the refresh rate is not limited (the
                        default), the emulator draws (refreshes) every
                        frame that it executes.
                          When the refresh rate is limited, the emulator
                        only draws the display 60 (NTSC) or 50 (PAL) times
                        per second at most.
                          Limiting the rate thus allows even faster
                        emulation at the cost of some visual smoothness.
                          The FPS display always shows the number of
                        frames executed per second, not the number of
                        frames drawn per second.

 Amiga-V  AUTOSAVE:     defaults to on. This causes the emulator to
                        automatically save a snapshot
                        (PROGDIR:Games/AUTOSAVE.EAS/INS/TVS) of the
                        current game when quitting (unless you quit during
                        a frame), and to automatically load the snapshot
                        at startup.

 Amiga-Z  POINTER:      defaults to on. Show mouse pointer on/off.

 Amiga-B  TITLEBAR:     defaults to on. Show (screen) titlebar on/off.
                        This only affects full-screen mode.

 Amiga-I  (none)        defaults to on. Create icons on/off, when saving.
                        This setting cannot be specified as a CLI
                        argument.

 Amiga-`  (none)        defaults to off. Watch reads? If on, reads by the
                        CPU (not UVI/PVI) of the data watchpoint trigger
                        the watchpoint. If off, they do not. This setting
                        cannot be specified as a CLI argument.

 (none)   (none)        defaults to yes, quiet. Sense game? If yes, known
                        games are detected and the emulator configures the
                        machine, memory map, paddle swapping, autofire on/
                        off and rate, primary firebutton, analog/digital
                        paddles, compatibility hack and sprite
                        demultiplexing accordingly. If no, none of this
                        occurs. We recommend choosing yes. The main reason
                        for choosing no would be in the very unlikely
                        event that a newly written/dumped game had the
                        same CRC32 checksum as an previously written/
                        dumped game, which would cause the emulator to
                        configure itself inappropriately. Note that
                        autosensing only works for BIN/EAR/EAS/INR/INS/
                        PGM/TVR/TVS files, not TVC files. 216 files are
                        known. Verbose will show information about the
                        game being loaded; quiet will not. Changing this
                        setting only affects games loaded in the future,
                        not the game currently in memory.

 (none)   (none)        defaults to on. Use compatibility hacks? If on,
                        the emulator adjusts its behaviour for certain
                        known games; this improves the apparent
                        compatibility. (Although conceivably the unhacked
                        behaviour could be more correct, as we are unable
                        to test these games on the real hardware.) "Sense
                        game?" must be yes. Changing this setting only
                        affects games loaded in the future, not the game
                        currently in memory. (Interton and Elektor only.)

You will note that the keyboard shortcuts are generally the same as those
used by WinArcadia (except that Right-Amiga is substituted for Ctrl).

The above settings can also be accessed using the menus or (generally)
the keyboard. They are automatically loaded at startup and saved at exit.
(So is your preferred directory path for games.) They can also (except
where noted) be used as CLI arguments.

Debugging settings are not automatically loaded/saved, except for
"Log illegal instructions?", "Log illegal reads?", "Log illegal writes?",
and "Watch reads?" settings.


MENU----------------------------------------------------------------------

 Project|Reset to game                     F5
 Project|Reset to monitor                  Amiga-,
 Project|Open...                           Amiga-O
 Project|Save BIN/PGM...                   Amiga-A
 Project|Save snapshot...                  Amiga-S
 Project|Save TVC...                       Amiga-\\
 Project|Quit                              Amiga-Q, Esc
    View|Game information?                 (none)
    View|Pointer?                          Amiga-X
    View|Titlebar?                         Amiga-B
    View|Controls...                       Amiga-C
    View|Cartridge RAM contents            Amiga-4
    View|Motherboard RAM contents          Amiga-5
    View|Screen contents                   Amiga-6
    View|UDC/sprite images                 Amiga-7
    View|UVI/PVI status                    Amiga-8
    View|CPU status                        Amiga-9
    View|PSGs status                       Amiga-.
    View|All memory                        Amiga-=
   Macro|Start recording...                Amiga-R
   Macro|Restart playback                  Amiga-+
   Macro|Stop recording/playback           Amiga-T
   Macro|Loop playback?                    Amiga-Y
   Debug|Trace CPU?                        Backspace
   Debug|Change register/memory...         Amiga-K
   Debug|Break/Continue                    P
   Debug|Run to next raster line           Amiga-!
   Debug|Run to next DMA                   Amiga-\@
   Debug|Run to next frame                 Amiga-#
   Debug|Run to raster line <n>...         Amiga-)
   Debug|Step                              Amiga-Z, RETURN
   Debug|Set code breakpoint...            Amiga-G
   Debug|Clear code breakpoint             Amiga-H
   Debug|Set data watchpoint...            Amiga-W
   Debug|Clear data watchpoint             Amiga-E
   Debug|Watch reads?                      Amiga-`
   Debug|Log illegal instructions?         Amiga--
   Debug|Log illegal reads?                Amiga-$
   Debug|Log illegal writes?               Amiga-%
Settings|Graphics|1x size?                 Amiga-1
Settings|Graphics|2x size?                 Amiga-2
Settings|Graphics|3x size?                 Amiga-3
Settings|Graphics|Full screen?             F9
Settings|Graphics|Narrow?                  Amiga-N
Settings|Graphics|VSCROLL lock?            ,
Settings|Graphics|Frame skipping...        Amiga-F
Settings|Controllers|Analog?               6
Settings|Controllers|Autofire?             0
Settings|Controllers|Enable joystick 1?    Amiga-J
Settings|Controllers|Swapped?              F7
Settings|Machine|Emerson Arcadia 2001      Amiga-&
Settings|Machine|Interton VC 4000          Amiga-*
Settings|Machine|Elektor TV Games Computer Amiga-(
Settings|Machine|Use compatibility hacks?  (none)
Settings|Speed|Paused?                     P
Settings|Speed|Warp?                       F8
Settings|Speed|NTSC?                       Amiga-[
Settings|Speed|PAL?                        Amiga-]
Settings|Speed|Limit refresh rate?         Amiga-^
Settings|Sprites|Collisions?               9
Settings|Sprites|Demultiplex?              8
Settings|Sound?                            Amiga-U
Settings|Autosave?                         Amiga-V
Settings|Create icons?                     Amiga-I
Settings|Sense game?|Yes, verbose          (none)
Settings|Sense game?|Yes, quiet            (none)
Settings|Sense game?|No                    (none)
    Help|About...                          Amiga-?, Help

These are documented in the Gadgets and Miscellaneous sections.


CONTROLLERS---------------------------------------------------------------

Emerson Arcadia 2001:

The genuine consoles have four or more buttons on the console itself
(START, A, B, RESET). There are also two semi-detachable "hand
controllers". Each of these controllers has a "paddle" (analog-style
joystick) and a "keypad" of 12, 14 or 16 buttons. Only the Dictionary
program (and the MUSIC.BIN homebrew example) make use of the extra buttons
of the 16-button controller.

Interton VC 4000:

The genuine consoles have three buttons on the console itself (START,
SELECT, RESET). There are also two semi-detachable "hand controllers".
Each of these controllers has a "paddle" (analog-style joystick) and a
"keypad" of 12 buttons.

The 14-button (MPT-03-style) keypad layout is arranged and named as
follows, the same as an MPT-03:

      2     2    You will observe that there are three buttons which all
      1  2  3    produce the same "scancode"; ie. they do the same thing;
      4  5  6    it is impossible for the guest machine (ie. the game)
      7  8  9    to differentiate between them.
     Cl  0 En

2:  2/Fire
Cl: Clear
En: Enter

Elektor TV Games Computer:

There are the following keys, and 2 paddles:

    .UC..   RCAS. WCAS. ..C..   ..D.. ..E.. ..F..
    START   BP1/2 .REG. ..8..   ..9.. ..A.. ..B..
    .LC..   .PC.. .MEM. ..4..   ..5.. ..6.. ..7..
    RESET   ..-.. ..+.. ..0..   ..1.. ..2.. ..3..

Guest-Host Mapping

      F1: 'START'
      F2: 'A'     (Emerson Arcadia 2001)
      or 'SELECT' (Interton VC 4000)
      or 'UC'     (Elektor TV Games Computer)
      F3: 'B'     (Emerson Arcadia 2001)
      or 'LC'     (Elektor TV Games Computer)
      F4: 'RESET' (Elektor TV Games Computer only - RESET key)
      F5: 'RESET' (reset to game)
 Amiga-,: 'RESET' (Elektor TV Games Computer only - reset to monitor)

The F4 reset merely sets the appropriate bit in the key matrix
corresponding to the RESET button; it is up to the game to act on this.
  The F5 reset merely causes the IAR (PC) to be reset to the start of the
game.
  The Amiga-, reset merely causes the IAR (PC) to be reset to the start of
the monitor ROM (which is what happens when the real machine is reset).

    Left Player    Right Player

         I             Up
        \\|/            \\|/
       J-+-L         Lt-+-Rt
        /|\\            /|\\
         K             Dn

     a1 a2 a3        n( n) n/    Emerson-style, or Elektor-style
      Q  W  E        n7 n8 n9
      A  S  D        n4 n5 n6
      Z  X  C        n1 n2 n3

     a2    a2        n)    n)    MPT-03-style, or Interton-style
     a1 a2 a3        n( n) n/
      Q  W  E        n7 n8 n9
      A  S  D        n4 n5 n6
      Z  X  C        n1 n2 n3

        a2              n)       Palladium-style
     a4  R  F        n* n- n+
     a1  V a3        n( nE n/
      Q  W  E        n7 n8 n9
      A  S  D        n4 n5 n6
      Z  X  C        n1 n2 n3

      F2    .a1.. .a2.. .a3..   .n(.. .n).. .n/..    Elektor TVGC
      F1    ..Q.. ..W.. ..E..   .n7.. .n8.. .n9..
      F3    ..A.. ..S.. ..D..   .n4.. .n5.. .n6..
      F4    ..Z.. ..X.. ..C..   .n1.. .n2.. .n3..

a:  alphanumeric
n:  numeric
nE: numeric ENTER

The "primary firebutton" is game-dependent and is configured
automagically. It is accessed by pressing the primary firebutton on the
relevant joystick, or pressing the spacebar (left player) or numeric '0'
key (right player). For most games this is the 2/Fire key (Arcadia/
Interton) or WCAS (left) or 'E' (right) key (Elektor), however it maps
to other keys (eg. RCAS/'D' or MEM/'6') for some Elektor games.
  The secondary firebutton (accessed by pressing the secondary firebutton
on the relevant joystick) is also configured automagically.

Numeric dot (.) is another '1' button for the right player (for Arcadia
and Interton), or 'D' button (for Elektor).

You can use the Help|Controls... menu item (Amiga-C) to see a picture of a
real MPT-03 (for Arcadia and Elektor) or Interton VC 4000 (for Interton)
with the normal (non-swapped) Amiga keyboard mappings overlaid. (Not
available in full-screen mode.)

Using joysticks and gamepads

The joystick/gamepad directions are mapped to the paddle directions as
you would expect.

    Gamepad button (joystick button)    Arcadia/Interton    Elektor
    Red (primary firebutton)                  '2'            usually 'WCAS'
    Blue (secondary firebutton)               '1'            usually 'E'
    Green                                     '3'             'C'
    Yellow                                    '0'             '+'

    .UC..   RCAS. WCAS. ..C..   ..D.. ..E.. ..F..
    START   BP1/2 .REG. ..8..   ..9.. ..A.. ..B..
    .LC..   .PC.. .MEM. ..4..   ..5.. ..6.. ..7..
    RESET   ..-.. ..+.. ..0..   ..1.. ..2.. ..3..

By default, the joystick/gamepad in port '2' (the usual joystick/gamepad
port) controls the left player, and the joystick/gamepad in port '1' (the
usual mouse port) controls the right player (note that you will need to
enable joystick/gamepad '1' (JOY1 option) if you want to make use of it).


OTHER KEYS----------------------------------------------------------------

Esc F1 F2 F3 F4 F5 .. F7 F8 F9 ..
```` 1 2 3 4 5 6 7 8 9 0 - = . <-   ... Hel   ( ) * /
..... Q W E R T Y U I O P [ ] RET             7 8 9 -
... .. A S D F G H J K L ; ' . UR     Up      4 5 6 +
..... . Z X C V B N . , . ? .....  Lt Dn Rt   1 2 3 E
   .. .. -----Spacebar---- Am ..              -0- . n

6:               digital/analog controllers
8:               demultiplexing on/off
9:               collisions on/off
0:               autofire on/off
F1:              START
F2:              'A'
F3:              'B'
F4:              RESET key (Elektor TVGC only)
F5:              RESET to game
Shift-F5:        RESET to monitor
F7:              swapped controllers on/off
F8:              warp speed on/off
F9:              windowed/full-screen mode
Amiga-`:         watch reads on/off
Amiga-1:         1x size
Amiga-2:         2x size
Amiga-3:         3x size
Amiga-4:         view cartridge RAM contents
Amiga-5:         view motherboard RAM contents
Amiga-6:         view screen contents
Amiga-7:         view UDC/sprite images
Amiga-8:         view UVI status
Amiga-9:         view CPU status
Amiga-!:         run to next raster line
Amiga-\@:         run to next DMA (Emerson Arcadia 2001 only)
Amiga-#:         run to next frame
Amiga-):         run to raster line <n>
Amiga--:         log illegal instructions on/off
Amiga-.:         view PSGs status (Elektor TV Games Computer only)
Amiga-=:         view all memory
Amiga-$:         log illegal reads on/off
Amiga-%:         log illegal writes on/off
Amiga-^:         limit refresh rate on/off
Amiga-&:         Emerson Arcadia 2001 emulation
Amiga-*:         Interton VC 4000 emulation
Amiga-(:         Elektor TV Games Computer emulation
Amiga-[:         NTSC region
Amiga-]:         PAL region
Amiga-A:         save ROM
Amiga-B:         show titlebar on/off
Amiga-C:         controls
Amiga-E:         clear data watchpoint
Amiga-F:         (adjust) frame skipping
Amiga-G:         set code breakpoint
Amiga-H:         clear code breakpoint
Amiga-I:         create icons on/off
Amiga-J:         mouse/joystick mode for mouse port
Amiga-K:         change register/memory
Amiga-N:         narrow mode on/off
Amiga-O:         load BIN/EAS/EAR/INS/INR/PGM/TVS/TVR
Amiga-P:         flagline connected toggle on/off (Arcadia),
                 or halfbrite backgrounds on/off (Interton, Elektor)
Amiga-Q, Esc:    quit
Amiga-R:         start recording
Amiga-S:         save snapshot
Amiga-T:         stop recording
Amiga-U:         sound on/off
Amiga-V:         autosave on/off
Amiga-W:         set data watchpoint
Amiga-X:         show pointer on/off
Amiga-Y:         loop playback on/off
Amiga-Z, RETURN: step
Amiga-?, Help:   about
Backspace:       trace CPU on/off
;:                speed whilst held down (no effect in warp mode)
':               1 FPS whilst held down (no effect in warp mode)
,:               VSCROLL lock on/off
P:               paused on/off (same as break/continue)


MISCELLANEOUS-------------------------------------------------------------

Terminology

"Emerson Arcadia 2001" or "Arcadia" is generally used in the emulator and
this document to refer to the entire Emerson Arcadia 2001 console family.
However, it should be noted that there are sub-groupings within this family
which have differences (eg. extra keys, FLAGLINE connected or not, etc.).
  Likewise, "Interton VC 4000" or "Interton" refers to the entire Interton
VC 4000 console family with its various sub-groupings. "Elektor TV Games
Computer" or "Elektor" refers to the Elektor TV Games Computer (also
commonly known by its German name: "Elektor TV Spielcomputer") and
variants thereof.
  The titlebar of the program will vary according to what is being
emulated: "AmiArcadia", "AmiInterton" or "AmiElektor" as appropriate.
  The term "PVI", for our purposes, includes the NOISE register ($1E80),
which is, strictly speaking, a separate component.
  The term "paddles" refers to the game controllers, especially to the
directional joystick-like component of them. This does not match the more
common definition of the word to mean rotatable dials.

Elektor TV Games Computer

The emulated Elektor TV Games Computer (also known by its German name:
"Elektor TV Spielcomputer") is the "extended" version, with extra RAM, and
random number generators at $1D20, $1FAF and $1FFF and the NOISE register
at $1E80. The two Programmable Sound Generators are only partly emulated.
The (fixed version of the) monitor ROM is built into the emulator. The
cartridge slot is not present; if you want to run Interton VC 4000 family
cartridges, you should use the Interton VC 4000 emulation.

Autosensing

The emulator is aware of all known ROM dumps for Arcadia and Interton. It
will automagically configure the machine type (ie. Arcadia or Interton),
memory map, analog, autofire, demultiplexing and paddle swapping settings
based on which game is being loaded.

ROMs

.BIN files are raw ROM dumps of cartridges, for Arcadia or Interton. You
can of course load or save these as desired. The machine is automatically
reset when loading these.
  For known ROMs, and for all snapshots and recordings, the emulator will
configure itself automagically as the correct machine.
  For unknown ROMs, there is no reliable way to determine what machine it
it is intended for; therefore you should set "Options|Machine"
appropriately first.
  Note that changing to Arcadia also changes to NTSC, and that changing to
Interton or Elektor also changes to PAL.
  When emulating the Interton VC 4000, the emulator will automagically
reconfigure its memory as appropriate if a known ROM is detected (if
"sense game?" is yes). If an unknown ROM is loaded, or "sense game?"
is no, it configures itself as follows:

    BIN is 2048 bytes or less  2K       ROM + 0K cartridge RAM  (type "A")
    BIN is 2049-4096 bytes     4K       ROM + 1K cartridge RAM  (type "C")
    BIN is 4097 bytes or more  6K (5K) ROM + 1K cartridge RAM  (type "D")

See the source code and the Interton VC 4000 Coding Guide for more
details.

Elektor TV Games Computer PGMs/TVCs

Two formats are supported for loading and saving of Elektor TVGC programs.

The PGM (ProGraM) format is as follows:

       $0           must be $00
       $1..   $2    loaded into $8BE.. $8BF (program start vector)
       $3.. $8BF    ignored
     $8C0+          loaded into $8C0+

These files must be 2140-8192 bytes in length. Code execution begins from
the address specified by the program start vector (typically $900 or
$8C0).

The TVC (TVGC Cassette) format is as follows:

       $0           must be $02
       $1..   $2    load address (where to start loading the program)
       $3..   $4    loaded into $8BE.. $8BF (program start vector)
       $5+          loaded into load address and onwards

Snapshots

You can save a 'snapshot' (aka 'savestate') of the current state of the
emulator whenever desired, and then load it back as desired. This gives a
'load/save game' feature. You can drag and drop snapshot files, load them
at startup, etc.
  The format used for these files is identical to that used by WinArcadia;
thus the files are interchangeable between platforms. The ROM itself is
stored inside the snapshot file so that the original .BIN file is no
longer required.
  The "EAS" extension is used for Emerson Arcadia 2001 snapshots, the
"INS" extension is used for Interton VC 4000 snapshots and the "TVS"
extension is used for Elektor TV Games Computer snapshots.

Gameplay Recordings

You can even save a 'recording' (aka 'history') of a gameplay session.
This can be played back later. It is useful for high score attempts, game
demonstrations, etc. These files contain an embedded snapshot (and
therefore also an embedded ROM image) and the input data.
  The "EAR" extension is used for Emerson Arcadia 2001 recordings, the
"INR" extension is used for Interton VC 4000 recordings, and the "TVR"
extension is used for Elektor TV Games Computer recordings.

To start recording, either click the "stop" button or choose the Macro|
Start Recording... menu item. Opening a BIN/EAS/EAR/INS/INR/PGM/TVS/TVR
file, resetting, quitting, saving, clicking the "record" button or
choosing the Macro|Stop Recording menu item will terminate the recording.

To play back a recording, simply open the EAR (Emerson Arcadia 2001), INR
(Interton VC 4000) or TVR (Elektor TV Games Computer) file as you would
open a BIN/PGM/TVC/EAS/INS/TVS file; you can even drag and drop, etc.

Icons

Sample icons for BIN/PGM/TVC/EAS/INS/EAR/INR files are provided in the
icons/ directory. When saving, or making a gameplay recording, if icon
creation is enabled, the appropriate icons/icon_#?.info file is copied to
create an icon for the file. Remember that AmiArcadia is an AppWindow;
thus you can drag and drop icons onto it to load them.

View Commands

All these commands send their output to stdout, thus you can redirect the
output when starting from CLI, eg.:

1> AmiArcadia >logfile

The available commands are as follows:

    Amiga-4     Shows the contents of the cartridge RAM (ie. RAM that is
                onboard the game cartridge). This is only available for
                modes "C" and "D" of the Interton VC 4000. (Interton VC
                4000 only.)

    Amiga-5     Shows the contents of the motherboard RAM (ie. RAM that is
                built-in to the console).

    Amiga-6     Shows the contents of the screen in a grid. Low-resolution
                games only display the upper half of this and may use the
                lower half as additional RAM.

    Amiga-7     Shows the graphics data for the 4 sprites (and the 4 user-
                defined characters, for the Emerson Arcadia 2001 only).
                '#' is a set pixel, '.' is a clear pixel.

    Amiga-8     Shows the status of the 2637 UVI (Emerson Arcadia 2001) or
                2636 PVI (Interton VC 4000 and Elektor TV Games Computer)
                coprocessor. Strictly speaking, the NOISE register ($1E80)
                of the Interton and Elektor are separate to the PVI, but
                it is included for completeness.
                  "Clock" is the number of "short" CPU "cycles" (ie. clock
                periods) executed since reset.
                  "Raster" is the number of the rastline currently being
                "drawn". If calling this function between frames, this
                number will be extreme.
                  "Frames" is the number of frames that have been emulated
                since reset.
                  "Time" is the running time since reset, as viewed by the
                guest machine. This figure is based only on the number of
                (complete) frames emulated since reset; thus it does not
                consider the amount of time elapsed since the start of the
                current frame. Natch, you will get different time figures
                in NTSC mode as compared with PAL mode, since the duration
                of a frame is longer in PAL mode. The machine is
                considered to have been in its current region since reset.

    Amiga-9     Shows the status of the 2650 CPU processor.

                These bits in the PSU are shown individually:

                S   S     Sense
                F   F     Flag
                I   II    Interrupt Inhibit

                The Stack Pointer (SP) is also part of the PSU but is
                shown separately.

                Note also that interrupts are (apparently) not generated
                by the Arcadia, only by the Interton and Elektor.

                These bits in the PSL are shown individually:

                D   IDC   Inter Digit Carry
                R   RS    Register Select
                W   WC    With Carry
                O   OVF   OVerFlow
                M   COM   COMpare
                C   C     Carry

                The Condition Code (CC) is also part of the PSL but is
                shown separately.

                Only one letter is used for each bit. Uppercase means the
                bit is set, lowercase means it is clear.

    Amiga-=     Shows the contents of $0000..$7FFF (ie. the entire address
                space). This obeys mirroring rules.

Debug Commands

All these commands send their output to stdout, thus you can redirect the
output when starting from CLI, eg.:

1> AmiArcadia >logfile

The available commands are as follows:

    Backspace   Toggles on/off real-time tracing (ie. disassembly) of the
                code being executed. The state of the CPU is also shown
                between each instruction. Of course enabling this will
                slow down the emulation severely.

    P           Break/continue: same as pause/unpause.

    Amiga-Z, RETURN:
                Step forwards one CPU instruction. Note that some
                functions are disabled whilst stepping, as they are only
                designed for use between, not during, frames. Also note
                that CPU tracing is not automatically enabled.

    Amiga-!     Runs until the start of the next raster line.
                Note that some functions are disabled whilst using this
                feature, as they are only designed for use between frames.

    Amiga-\@     Runs until the next change of DMA (ie. the next change of
                the CHARLINE register).
                This is only for the Emerson Arcadia 2001.
                Note that some functions are disabled whilst using this
                feature, as they are only designed for use between frames.

    Amiga-#     Runs until the start of the next frame.

    Amiga-)     Runs until the start of the raster line you specify.
                Note that some functions are disabled whilst using this
                feature, as they are only designed for use between frames.

    Amiga-G     Allows you to interactively set or change the code
                breakpoint. You can specify it as hexadecimal or decimal;
                the other gadget will automatically update
                correspondingly. (Not available in full-screen mode.)

    Amiga-H     Clears the code breakpoint.

    Amiga-W     Allows you to interactively set or change the data
                watchpoint. You can specify it as hexadecimal or decimal;
                the other gadget will automatically update
                correspondingly. (Not available in full-screen mode.)

    Amiga-E     Clears the data watchpoint.

    Amiga-K     You can change the contents of any address. You can use
                decimal (eg. 12345) or hexadecimal (eg. $1234) notation
                for the address and the desired new contents of that
                address. Giving PSL, PSU, IAR (or PC), RAS0..RAS7 or
                R0..R6 as the address will allow modification of those CPU
                registers. (SP is part of the PSU and CC is part of the
                PSL.) You can also give eg. PITCH, VOLUME, etc. as the
                address; these are translated automagically into the
                correct address (eg. $18FD, $18FE, etc.). The maximum
                address is of course 32767; the maximum desired new
                contents is 255, except for IAR and RASn where the maximum
                desired new contents is 32767. (Therefore, by adjusting
                the IAR, you can jump to another area of the code.)

                This access is very direct; it is assumed you know what
                you are doing. The reads/writes are not directed through
                the usual memory attribute/mirroring routines. This means,
                for example, that you can write (change) the contents of
                addresses which are normally read-only (eg. ROM), and can
                read the contents of addresses which are normally write-
                only (eg. BGCOLOUR) (although of course such write-only
                addresses will still appear as $FF or whatever to running
                programs). Mirroring is not applied, eg. writing to
                location $1000 will not change the contents of location
                $1400, etc.

                Changes made to ROM will generally survive a reset
                operation. (An exception is when looping macro playback,
                which refreshes the ROM (and RAM, of course) every time it
                loops.) Changes made to, for example, unmapped areas, or
                unused ROM areas, are not loaded/saved as part of BIN/EAS/
                EAR/INS/INR files. Files are always saved with the same
                ROM area size as they were loaded with (eg. if you
                "extend" a 2K ROM by adding more code/data to the end of
                it, extending it beyond 2K, only the first 2K is saved).

    Amiga--     When enables, execution of opcodes that are undefined
                ($10, $11, $90, $91, $B6, $B7, $C4..$C7), indeterminate
                (LODZ r0), or strange (REDx, WRTx, and, for Emerson
                Arcadia 2001, RETE) will cause a message to be printed.
                The actual behaviour of the emulator is the same whether
                this is enabled or disabled.

    Amiga-$     When enabled, reads of memory locations which are write-
                only, mirrored or unmapped will cause a message to be
                printed. The actual behaviour of the emulator is the same
                whether this is enabled or disabled.

                Some accesses can generate two violations. For example
                (Emerson Arcadia 2001): reading address $1300 will log a
                mirrored read violation; then, when the access has been
                translated to $1B00, it will log an unmapped read
                violation.

    Amiga-%     When enabled, writes of memory locations which are read-
                only, mirrored or unmapped will cause a message to be
                printed. The actual behaviour of the emulator is the same
                whether this is enabled or disabled.

                Some accesses can generate two violations. For example
                (Emerson Arcadia 2001): writing address $1300 will log a
                mirrored write violation; then, when the access has been
                translated to $1B00, it will log an unmapped write
                violation.

Mnemonic UVI/PVI/PSG register names

When setting breakpoints and watchpoints, and changing memory locations,
you can use these mnemonic UVI/PVI/PSG register names instead of the raw
decimal or hexadecimal addresses:

    Emerson Arcadia 2001:           Interton VC 4000/Elektor TVGC:

    SPRITE0Y      = 6384 = $18F0    NOISE         = 7808 = $1E80
    SPRITE0X      = 6385 = $18F1    P1LEFTKEYS    = 7816 = $1E88
    SPRITE1Y      = 6386 = $18F2    P1MIDDLEKEYS  = 7817 = $1E89
    SPRITE1X      = 6387 = $18F3    P1RIGHTKEYS   = 7818 = $1E8A
    SPRITE2Y      = 6388 = $18F4    CONSOLE       = 7819 = $1E8B
    SPRITE2X      = 6389 = $18F5    P2LEFTKEYS    = 7820 = $1E8C
    SPRITE3Y      = 6390 = $18F6    P2MIDDLEKEYS  = 7821 = $1E8D
    SPRITE3X      = 6391 = $18F7    P2RIGHTKEYS   = 7822 = $1E8E
    VSCROLL       = 6396 = $18FC    SPRITE0AX     = 7946 = $1F0A
    PITCH         = 6397 = $18FD    SPRITE0BX     = 7947 = $1F0B
    VOLUME        = 6398 = $18FE    SPRITE0AY     = 7948 = $1F0C
    CHARLINE      = 6399 = $18FF    SPRITE0BY     = 7949 = $1F0D
    P1LEFTKEYS    = 6400 = $1900    SPRITE1AX     = 7962 = $1F1A
    P1MIDDLEKEYS  = 6401 = $1901    SPRITE1BX     = 7963 = $1F1B
    P1RIGHTKEYS   = 6402 = $1902    SPRITE1AY     = 7964 = $1F1C
    P1PALLADIUM   = 6403 = $1903    SPRITE1BY     = 7965 = $1F1D
    P2LEFTKEYS    = 6404 = $1904    SPRITE2AX     = 7978 = $1F2A
    P2MIDDLEKEYS  = 6405 = $1905    SPRITE2BX     = 7979 = $1F2B
    P2RIGHTKEYS   = 6406 = $1906    SPRITE2AY     = 7980 = $1F2C
    P2PALLADIUM   = 6407 = $1907    SPRITE2BY     = 7981 = $1F2D
    CONSOLE       = 6408 = $1908    SPRITE3AX     = 8010 = $1F4A
    RESOLUTION    = 6648 = $19F8    SPRITE3BX     = 8011 = $1F4B
    BGCOLOUR      = 6649 = $19F9    SPRITE3AY     = 8012 = $1F4C
    SPRITES23CTRL = 6650 = $19FA    SPRITE3BY     = 8013 = $1F4D
    SPRITES01CTRL = 6651 = $19FB    SIZES         = 8128 = $1FC0
    BGCOLLIDE     = 6652 = $19FC    SPR01COLOURS  = 8129 = $1FC1
    SPRITECOLLIDE = 6653 = $19FD    SPR23COLOURS  = 8130 = $1FC2
    P2PADDLE      = 6654 = $19FE    SCORECTRL     = 8131 = $1FC3
    P1PADDLE      = 6655 = $19FF    BGCOLOUR      = 8134 = $1FC6
                                    PITCH         = 8135 = $1FC7
                                    SCORELT       = 8136 = $1FC8
                                    SCORERT       = 8137 = $1FC9
                                    BGCOLLIDE     = 8138 = $1FCA
                                    SPRITECOLLIDE = 8139 = $1FCB
                                    P1PADDLE      = 8140 = $1FCC
                                    P2PADDLE      = 8141 = $1FCD

                                    Elektor TVGC only:

                                    PITCHA1_L     = 7424 = $1D00
                                    PITCHA1_H     = 7425 = $1D01
                                    PITCHB1_L     = 7426 = $1D02
                                    PITCHB1_H     = 7427 = $1D03
                                    PITCHC1_L     = 7428 = $1D04
                                    PITCHC1_H     = 7429 = $1D05
                                    PITCHD1       = 7430 = $1D06
                                    ENABLE1       = 7431 = $1D07
                                    AMPLITUDEA1   = 7432 = $1D08
                                    AMPLITUDEB1   = 7433 = $1D09
                                    AMPLITUDEC1   = 7434 = $1D0A
                                    PERIOD1_L     = 7435 = $1D0B
                                    PERIOD1_H     = 7436 = $1D0C
                                    SHAPE1        = 7437 = $1D0D
                                    PORTA1        = 7438 = $1D0E
                                    PORTB1        = 7439 = $1D0F
                                    PITCHA2_L     = 7440 = $1D10
                                    PITCHA2_H     = 7441 = $1D11
                                    PITCHB2_L     = 7442 = $1D12
                                    PITCHB2_H     = 7443 = $1D13
                                    PITCHC2_L     = 7444 = $1D14
                                    PITCHC2_H     = 7445 = $1D15
                                    PITCHD2       = 7446 = $1D16
                                    ENABLE2       = 7447 = $1D17
                                    AMPLITUDEA2   = 7448 = $1D18
                                    AMPLITUDEB2   = 7449 = $1D19
                                    AMPLITUDEC2   = 7450 = $1D1A
                                    PERIOD2_L     = 7451 = $1D1B
                                    PERIOD2_H     = 7452 = $1D1C
                                    SHAPE2        = 7453 = $1D1D
                                    PORTA2        = 7454 = $1D1E
                                    PORTB2        = 7455 = $1D1F

AISS

If you have AISS installed, you can delete the following files:

    images/new
    images/new_s
    images/open
    images/open_s
    images/save
    images/save_s

Configuration file

Most settings are loaded automatically from the AmiArcadia.config file at
startup, and likewise are saved to there automatically at exit.

The priority of configuration sources at startup are as follows:

    1. Autosense settings for the relevant game
    2. CLI arguments
    3. AmiArcadia.config
    4. Built-in defaults

Lower numbers indicate higher priority; eg. autosense overrides anything
else.

Note that the "autosave" option refers to automatically saving a snapshot
of the current game at exit; it has nothing to do with the
AmiArcadia.config file, which stores emulator settings. And "autosense" is
another thing altogether.


COMPATIBILITY-------------------------------------------------------------

General incompatibilities (all):
 Horizon jittering affects the entire rastline rather than just a portion
  of it.
 Bus emulation is not implemented.
 PAL/NTSC toggling doesn't change the number of cycles per frame, nor the
  sound output, as it presumably should.
 The emulator multiplexes the CPU and UVI/PVI emulation on a per-rastline
  basis for more speed.
 The aspect ratio and overscan of the emulation may not be identical to
  those on the real machines (depends on the magnification and other
  settings of the television set anyway).
 Some opcodes which are unused in any known or conceivable Arcadia/
  Interton/Elektor program (eg. REDC) may not function in exactly the same
  way as they would on a real machine.
 Interrupts are late.
 Some hardware registers which perhaps should be cached (ie. read
  occasionally by the UVI/PVI, and then using that value for a while), are
  being reread as necessary by the emulator, and vice versa.
 Timing is somewhat inexact.
 Noises are not correct (eg. ROBOTKIL player-wall collision should have
  more "sizzle").
 Aliasing of high-pitched tones (but this probably plagues the real
  machines too).

General incompatibilities (Emerson Arcadia 2001):
 Some behaviours and timings of the UVI registers are not reproduced.
 Sprites are probably drawn at a different point in the frame (ie. the
  end) than they would be on a real Arcadia (during main drawing).
 Some variants (the Palladium VCG, for example) do not have RAM mirroring.
  The emulator emulates an actual Emerson Arcadia 2001 (which does have
  RAM mirroring) in this regard.
 Overlapping sprites should have their colours wire-OR'd together.

General incompatibilities (Interton VC 4000):
 Unknown "4K ROM + 0K RAM" cartridges are actually emulated as "4K ROM +
  1K RAM" cartridges, due to the impossibility of distinguishing between
  the two.
 Background colour inversion is not emulated.

General incompatibilities (Elektor TV Games Computer):
 The Programmable Sound Generators are not completely emulated.
 The cassette interface is not emulated.
 Background colour inversion is not emulated.

These may seem to be emulator bugs but in fact are faithfully emulated
(ie. non-problems) (all):
 Tones are off-key.
 Different games optimally require different autofire settings; ie. some
  are unable to cope with very fast autofire. Therefore, the autofire
  settings are not optimal for every game. (Eg. in ROBOTKIL, the player
  occasionally cannot move if autofire is on.)
 Flickering horizon lines (although this happens somewhat differently
  under AmiArcadia than on a real machine).

These may seem to be emulator bugs but in fact are faithfully emulated
(ie. non-problems) (Emerson Arcadia 2001):
 Many games have flickering sprites and/or backgrounds (due to the use of
  multiplexing techniques).
 Some games (HOBO, JUMPBUG?, THE-END, TURTLES) have garbage lines of
  colour at the bottom of the screen.

See the Gaming Guide for information about specific game non-problems.

Specific Emerson Arcadia 2001 game incompatibilities:

100% OK  99% OK   Problem

3DSOCCE?
ALIENINV
ASTROINV
AUTORACE
BASEBALL
BASKETBA
BATTLE
BLACKJAC
BOWLING
BOXING
BRAINQUI
BREAKAWA
CAPTURE
CATTRAX
CIRCUS
COMBAT
CRAZYCLI
CRAZYGOB
         DORAEMON Blank line between head and body when moving down
                  (timing or variable caching problem?)
DR-SLUMP
ESCAPE
FOOTBALL
FUNKFISH
GOLF
HOBO
         HORSERAC Wrong colours?
JUMPBUG?
JUNGLER
         MACROSS  Graphic glitches on title screen (timing or variable
                  caching problem)
MISSILEW
MONACO
NIBBLE
OCEANBAT
         PARASHOO Graphic glitches when losing a life (timing problem?)
PLEIADES
R2DTANK
         REDCLASH Flickering box on title screen
ROBOTKIL
ROUTE16
SATTACK?
SMISSION
SOCCER
SPIDERS
SRAIDERS
SSQUADRO
STARCHES
SUPERGOB
SVULTURE
TANKSALO
TENNIS
THE-END
TURTLES
VIDLEX#?

(As per the AmigaDOS standard, ? is a wildcard representing one character,
and #? is a wildcard representing zero or more characters.)

Please report any other incompatibilities you believe to be present.

Specific Interton VC 4000 game incompatibilities:

Playable Broken   Problem

         4INAROW  Doesn't work
AIRSEAAT          Suspect dump
AIRSEABA
BACKGAMM
         BLACKJAC Doesn't work
         BOWLING  Doesn't work
BOXING            Minor graphics problems when knocked out
CAPTURE
         CARRACES Doesn't work
CASINO            Major graphics problems
         CHESS1   Doesn't work properly
         CHESS2   Doesn't work properly?
         CIRCUS   Doesn't work (timing?)
         COCKPIT  Doesn't work
CODEBREA          Graphics problems
COMBATA
COMBATB
DRAUGHTS          Minor graphics problems
         GOLF     Major graphics problems
         GRNDPRIX Doesn't work
HEADON
HIPPODRO
HORSERAC          Suspect dump
HUNTING
HYPERSPA          Minor graphics problems (timing?)
INVADERA
INVADERB
LABYRINT
LASERATT
MATHEMA1          Minor graphics problems
         MATH2    Doesn't work
         MASTERMI Doesn't work
METROPOL          Graphics problems
MONSTERM
         MOTOCROS Doesn't work
MUSICALG
OLYMPICS
PINBALLA
PINBALLB
PLANETDE
SOCCERA
SOCCERB
SOLITAIR          Minor graphics problems (timing?)
SPACEWAR
SHOOTGAL
SHOOTOUT
SUPERINV
SUPERSPA
TREASURE
         WINTERSP Doesn't work properly

Some games may work better than indicated, as they have not been
comprehensively retested for this release.

Obviously the Interton VC 4000 emulation is not yet very accurate (nor
very fast!); this should improve in later versions.

Note that the Interton VC 4000 compatibility listing is very rough, as we
do not know what the correct behaviour of the games should be. Your
assistance would be appreciated.

Specific Elektor TV Games Computer compatibility notes:

You need to press START (F1) before using the monitor software, the same
as on the authentic Elektor TVGC. For more details about the monitor
software, see the "TV Games Computer" book.
  Exhaustive compatibility testing of the "Elektor Software Service" (ESS)
software has yet to be completed. There is a rough list in the Elektor TV
Games Computer Gaming Guide.
  Note that 07-D-Disassembler has nothing to disassemble at $900, due to
the way programs are loaded (memory is cleared when loading); however, it
does work and can be used to disassemble itself, for example.

If you have any software not in the lists above, please send them to us,
to help improve the emulator.


TROUBLESHOOTING-----------------------------------------------------------

My game is not working properly!

Emerson Arcadia 2001: Check your settings, especially the input settings
(eg. digital/analog paddle mode, autofire on/off, paddle swapping) and
sprite collisions on/off. Try adjusting the frame skipping value, as
certain synchronicities can occur with games which use multiplexing
techniques. Read the game manual and/or game help. Check the compatibility
non-problems list in the Emerson Arcadia 2001 Gaming Guide.

Interton VC 4000: Check your settings, especially the input settings
(eg. digital/analog paddle mode, autofire on/off, paddle swapping) and
sprite collisions on/off. Try adjusting the frame skipping value, as
certain synchronicities can occur with games which use multiplexing
techniques. Read the game help in the Interton VC 4000 Gaming Guide. The
state of Interton VC 4000 emulation is unfortunately still poor. Your
help is sought in compatibility testing and/or emulator development.

Elektor TV Games Computer: Check your settings, especially the input
settings (eg. digital/analog paddle mode, autofire on/off, paddle
swapping) and sprite collisions on/off. Try adjusting the frame skipping
value, as certain synchronicities can occur with games which use
multiplexing techniques. Read the game manual (inlay). The state of
Elektor TV Games Computer emulation is unfortunately still poor. Your
help is sought in compatibility testing and/or emulator development.

When I load a ROM, the screen goes all one colour!

Ensure that the emulator is not paused.

The vertical scrolling is not working smoothly in my game!

Ensure that the vertical scroll lock is disabled.

The sprites in my game are "smearing"!

Ensure that sprite multiplexing is disabled.

The colours in my game are wrong!

Toggle the flagline emulation.

Horizon lines are jittering!

The genuine consoles also exhibits such jittering, though over a narrower
area.

I can't find a BIOS file!

The Arcadia and Interton do not possess a BIOS; thus a BIOS file is not
necessary or possible. The (fixed version of the) monitor ROM of the
Elektor is built into the emulator.

The sprites or background in my game are flickering!

In the case of sprites, this is a technique used in many EA2001 programs
to display more than the normal limit of 4 sprites by rapidly
multiplexing them; ie. displaying only 4 sprites at a time but quickly
switching between the sprite sets. You can use the sprite demultiplexing
feature, but this does not "work" for all games because (a) it only
affects sprites, not character tiles, and (b) it assumes that there are 8
sprites which are displayed 4 sprites at a time on alternating frames. The
following games meet this criteria: FUNKFISH, REDCLASH, SATTACK? (sprites,
not starfield), TENNIS and TURTLES.

Certain combinations of keys do not work!

This is due to the limitations of the Amiga keyboard hardware, and happens
when there are several keys held down. This problem is well-documented in
eg. the Amiga ROM Kernel Reference Manuals. It affects all Amiga software,
not just AmiArcadia. There is not really a workaround for this, other than
using joystick(s) instead of keyboard.

The emulation is slow!

Indeed it is, unfortunately. Here are some suggestions to increase the
speed of the emulator:

(a) You should patch the graphics subsystem; this gives an astounding
    performance improvement for OCS/ECS/AGA under WinUAE (and a
    significant improvement on a real Amiga) that affects not only
    AmiArcadia but also various other software. See here for more
    information.

(b) WinUAE users can make the emulation faster by checking "Immediate
    Blitter" (and of course unchecking "Cycle exact CPU and Blitter"), in
    Settings|Hardware|Chipset|Misc chipset options.

(c) 1x graphics scaling gives faster redraws than the 2x or 3x scaling;
    you could run in a low-resolution screenmode to enlarge the apparent
    size of this.

(d) Narrow mode is faster than wide mode.

(e) RTG modes are generally faster than OCS/ECS/AGA modes.

(f) Windowed mode is generally faster than full-screen mode.

(g) Shallow modes (fewer colours) are generally faster than deep (more
    colours) modes. For example, under MorphOS at least, changing from a
    16-bit screenmode to an 8-bit screenmode almost doubles the speed.

(h) Skipping frames will increase the speed.

(i) You could increase AmiArcadia's priority (eg. with the PRI argument
    from CLI, the TOOLPRI Workbench ToolType, or the SetTaskPri CLI
    command).

(j) You could compile specifically for your CPU if you are using something
    better than a 68020 (the provided binary is 68020-optimized).

(k) WinUAE users could use a faster (and more stable) version of WinUAE,
    such as WinUAE 0.8.8 R9.

Recordings are not playing back correctly!

Check the sprite collisions setting: it must be the same as what was used
when the recording was made. There is also a known bug that recording and
playback are out of sync.
